Package de.yaams.maker.helper.gui.dock

Source Code of de.yaams.maker.helper.gui.dock.DockRSSPanel

/**
*
*/
package de.yaams.maker.helper.gui.dock;

import java.net.URL;

import org.gnu.stealthp.rsslib.RSSHandler;
import org.gnu.stealthp.rsslib.RSSItem;
import org.gnu.stealthp.rsslib.RSSParser;

import de.yaams.maker.helper.NetHelper;
import de.yaams.maker.helper.SystemHelper;
import de.yaams.maker.helper.gui.AE;
import de.yaams.maker.helper.gui.YEx;
import de.yaams.maker.helper.language.I18N;

/**
* @author abby
*
*/
public class DockRSSPanel extends DockLinkPanel {

  /**
   *
   */
  public DockRSSPanel(final String rss, String icon, int maxItem) {
    // check internet
    if (!NetHelper.hasInternet(false)) {
      addLink(I18N.t("Kein Internet"), "web_error", new AE() {

        @Override
        public void run() {
          NetHelper.hasInternet(true);

        }
      });
      return;
    }

    RSSHandler hand = new RSSHandler();

    try {
      RSSParser.parseXmlFile(new URL(rss), hand, false);
    } catch (final Throwable t) {
      addLink(I18N.t("Kann {0} nicht laden", rss), "error", new AE() {

        @Override
        public void run() {
          YEx.warn("Can not load rss " + rss, t);

        }
      });
      return;
    }

    // add the news
    for (int i = 0; i < maxItem; i++) {
      // break?
      if (i >= hand.getRSSChannel().getItems().size()) {
        break;
      }

      // add it
      final RSSItem itm = (RSSItem) hand.getRSSChannel().getItems().get(i);
      addLink(itm.getTitle(), icon + "_web", new AE() {

        @Override
        public void run() {
          SystemHelper.openUrl(itm.getLink());

        }
      });
    }
  }

}
TOP

Related Classes of de.yaams.maker.helper.gui.dock.DockRSSPanel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.